20 research outputs found

    Formal Verification of an Iterative Low-Power x86 Floating-Point Multiplier with Redundant Feedback

    Full text link
    We present the formal verification of a low-power x86 floating-point multiplier. The multiplier operates iteratively and feeds back intermediate results in redundant representation. It supports x87 and SSE instructions in various precisions and can block the issuing of new instructions. The design has been optimized for low-power operation and has not been constrained by the formal verification effort. Additional improvements for the implementation were identified through formal verification. The formal verification of the design also incorporates the implementation of clock-gating and control logic. The core of the verification effort was based on ACL2 theorem proving. Additionally, model checking has been used to verify some properties of the floating-point scheduler that are relevant for the correct operation of the unit.Comment: In Proceedings ACL2 2011, arXiv:1110.447

    Modeling Algorithms in SystemC and ACL2

    Full text link
    We describe the formal language MASC, based on a subset of SystemC and intended for modeling algorithms to be implemented in hardware. By means of a special-purpose parser, an algorithm coded in SystemC is converted to a MASC model for the purpose of documentation, which in turn is translated to ACL2 for formal verification. The parser also generates a SystemC variant that is suitable as input to a high-level synthesis tool. As an illustration of this methodology, we describe a proof of correctness of a simple 32-bit radix-4 multiplier.Comment: In Proceedings ACL2 2014, arXiv:1406.123

    A Formalization of Finite Group Theory: Part II

    Full text link
    This is the second installment of an exposition of an ACL2 formalization of finite group theory. The first, which was presented at the 2022 ACL2 workshop, covered groups and subgroups, cosets, normal subgroups, and quotient groups, culminating in a proof of Cauchy's Theorem: If the order of a group G is divisible by a prime p, then G has an element of order p. This sequel addresses homomorphisms, direct products, and the Fundamental Theorem of Finite Abelian Groups: Every finite abelian group is isomorphic to the direct product of a list of cyclic p-groups, the orders of which are unique up to permutation. This theorem is a suitable application of ACL2 because of its extensive reliance on recursion and induction as well as the constructive nature of the factorization. The proof of uniqueness is especially challenging, requiring the formalization of vague intuition that is commonly taken as self-evident.Comment: In Proceedings ACL2-2023, arXiv:2311.0837

    A Formalization of Finite Group Theory: Part III

    Full text link
    This is the third and final installment of an exposition of an ACL2 formalization of finite group theory. Part I covers groups and subgroups, cosets, normal subgroups, and quotient groups. Part II extends the theory in the developmnent of group homomorphisms and direct products, which are applied in a proof of the Fundamental Theorem of Finite Abelian Groups. The central topics of the present paper are the symmetric groups and the Sylow theorems, which pertain to subgroups of prime power order. Since these theorems are based on the conjugation of subgroups, an example of a group action on a set, their presentation is preceded by a comprehensive treatment of group actions. Our final result is mainly an application of the Sylow theorems: after showing that the alternating group of order 60 is simple (i.e., has no proper normal subgroup), we prove that no group of non-prime order less than 60 is simple. The combined content of the groups directory is a close approximation to that of an advanced undergraduate course taught by the author in 1976.Comment: In Proceedings ACL2-2023, arXiv:2311.0837

    A formal language for the specification and verification of synchronous and asynchronous circuits

    Get PDF
    A formal hardware description language for the intended application of verifiable asynchronous communication is described. The language is developed within the logical framework of the Nqthm system of Boyer and Moore and is based on the event-driven behavioral model of VHDL, including the basic VHDL signal propagation mechanisms, the notion of simulation deltas, and the VHDL simulation cycle. A core subset of the language corresponds closely with a subset of VHDL and is adequate for the realistic gate-level modeling of both combinational and sequential circuits. Various extensions to this subset provide means for convenient expression of behavioral circuit specifications

    A Mechanical Proof of the Chinese Remainder Theorem

    No full text
    r i m i + s i M i = 1. Thus, s i M i = 1 \Gamma r i m i j 1 (mod m i ) and for each j 6= i, s i M i j 0 (mod m j ): Let x = P k i=1 a i s i M i . Then for i = 1; : : : ; k, x = a i s i M i + k X j=1 j 6=i a i s i M i j a i \Delta 1 + 0 j a i (mod m i ):2 1 Alth

    A Verified Prolog Compiler for the Warren Abstract Machine

    Get PDF
    Machine David M. Russinoff Microelectronics and Computer Technology Corporation 3500 West Balcones Center Drive Austin, TX 78759 (512) 338-3583 Abstract We extend the theory of Prolog to provide a framework for the study of Prolog compilation technology. For this purpose, we first demonstrate the semantic equivalence of two Prolog interpreters: a conventional SLD-refutation procedure and one that employs Warren's "last call" optimization. Next, we formally define the Warren Abstract Machine (WAM) and its instruction set and present a Prolog compiler for the WAM. Finally, we prove that the WAM execution of a compiled Prolog program produces the same result as the interpretation of its source. Contents 1 Introduction 1 2 Prolog 4 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Last Call Optimization . . . . . . . . . . . . . . . . . . . . . . 10 3 The WAM 15 3.1 WAM States . ..
    corecore